For some time now, network architects have been designing multicast (also referred to as point to multipoint or one to many) systems for delivering information from a source to a subset of the users on a network. Multicast systems have not generally enjoyed the same widespread adoption as unicast (one to one) and broadcast (one to all) systems.
Various factors have made adoption of multicast systems difficult over large diverse networks. The problem of managing subscribing and unsubscribing users to multicast groups has proven difficult. Furthermore, in most multicast schemes, it is necessary that each router in the network be multicast enabled so that it can manage the distribution of packets to the correct nodes. Although later versions of the IP protocol have included multicast, legacy routers may not support multicast and there has been some difficulty settling on a widely adopted multicast standard. The issue of security is also a problem. Preventing unauthorized users from accessing packets sent from routers to multicast group members is difficult.
Some “multicast” solutions implemented today over a diverse network are actually just large scale implementations of multiple unicast systems.
FIG. 1 is a diagram illustrating a prior art multicast scheme implemented using a set of servers that unicast packets to clients in the “multicast” group. A set of servers 102 sends packets 110 through a heterogeneous network 104. Heterogeneous network 104 includes a number of routers 106, some of which are not shown. Routers 106 may include legacy routers that do not support multicasting. As a result, servers 102 must implement multicasting by actually unicasting packets to a set of clients 108. This is illustrated by the letter identifying each of the clients on the packets 110 sent from the servers. Obviously, this arrangement taxes the processing resources of the servers as each new client requires a new set of packets to be sent from one of the servers.
It would be useful if a multicast system could be designed that would work with legacy routers that are not multicast enabled in a heterogeneous network, yet would not require the servers to send packets to each of the multicast clients.